package gui;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Gauge;
import midlet.MidletCielsa;
import recursos.PropiedadesConexion;
import recursos.PropiedadesParametros;
import rms.SesionRMS;
import soa.SWSincronizacion;

/**
 *
 * @author Dikas
 */
public class FrmSincronizando extends Form implements CommandListener {

    private Gauge gCargando;
    private Displayable previousDisplayable;
    private MidletCielsa midlet;
    private Thread hilo;
    private Thread hilo1;

    public FrmSincronizando(MidletCielsa midlet, Displayable previousDisplayable) {
        super("Sincronización");
        this.previousDisplayable = previousDisplayable;
        this.midlet = midlet;
        gCargando = new Gauge("Sincronizando", false, Gauge.INDEFINITE, 0);
        append(gCargando);
        hilo = new Thread(new HiloSincronizaDatos());
        hilo.start();
        hilo1 = new Thread(new HiloAnimacionGauge());
        hilo1.start();
        setCommandListener(this);
    }

    public void commandAction(Command c, Displayable d) {
       
    }

    private class HiloSincronizaDatos implements Runnable {

        public void run() {            
            try {
                String url = PropiedadesConexion.acceso_ws+"gescont.jsp";
                String entradas[][] = new String[3][2];
                entradas[0][0]="rec";
                entradas[0][1]=PropiedadesParametros.recsincronizacion;
                SesionRMS rms = new SesionRMS();
                entradas[1][0]="userId";                
                entradas[1][1]=""+rms.getId();                
                entradas[2][0]="sid";
                entradas[2][1]=rms.getSID();                
                SWSincronizacion sws = new SWSincronizacion(url, entradas, midlet, previousDisplayable);
                sws.start();
            } catch (Exception e) {
                System.out.println("Error: " + e.getMessage());
                e.printStackTrace();                
            }                 
        }
    }

    private class HiloAnimacionGauge implements Runnable {

        public void run() {
            while (true) {
                gCargando.setValue(Gauge.INCREMENTAL_UPDATING);
                try {
                    Thread.sleep(100);
                } catch (Exception e) {
                }
            }
        }
    }
}
